package org.dromara.bykt.domain.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;

import java.io.Serial;
import java.io.Serializable;


/**
 * 课后习题视图对象 course_exercise
 *
 * @author Hou
 * @date 2025-06-22
 */
@Data
@NoArgsConstructor
public class BYKTCourseExerciseImportVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "视频名称")
    private String videoName;

    @ExcelProperty(value = "课程名称")
    private String courseName;

    /**
     * 题目内容
     */
    @ExcelProperty(value = "题目内容")
    private String title;

    /**
     * 题目类型（0单选 1多选 2判断）
     */
    @ExcelProperty(value = "题目类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=单选,1=多选,2=判断, 3=简答", separator = ",")
    private String type;

    /**
     * 选项内容（JSON格式）
     */
    private String options;

    @ExcelProperty(value = "选项A")
    private String optionA;

    @ExcelProperty(value = "选项A描述")
    private String optionAText;

    @ExcelProperty(value = "选项B")
    private String optionB;

    @ExcelProperty(value = "选项B描述")
    private String optionBText;

    @ExcelProperty(value = "选项C")
    private String optionC;

    @ExcelProperty(value = "选项C描述")
    private String optionCText;

    @ExcelProperty(value = "选项D")
    private String optionD;

    @ExcelProperty(value = "选项D描述")
    private String optionDText;

    @ExcelProperty(value = "选项E")
    private String optionE;

    @ExcelProperty(value = "选项E描述")
    private String optionEText;

    @ExcelProperty(value = "选项F")
    private String optionF;

    @ExcelProperty(value = "选项F描述")
    private String optionFText;

    @ExcelProperty(value = "选项G")
    private String optionG;

    @ExcelProperty(value = "选项G描述")
    private String optionGText;

    /**
     * 正确答案
     */
    @ExcelProperty(value = "正确答案")
    private String answer;

    /**
     * 解析
     */
    @ExcelProperty(value = "解析")
    private String analysis;

    /**
     * 图片
     */
    @ExcelProperty(value = "图片")
    private String image;

    /**
     * 题库类型（1、习题 2、刷题 3、考试）
     */
    @ExcelProperty(value = "题库类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=习题,2=刷题,3=考试", separator = ",")
    private String questionType;

    @ExcelProperty(value = "排序")
    private String sort;

}
